package cn.edu.wynu.string;

public class StringDemo03 {
    public static void main(String[] args) {
        // 掌握String使用时的几个注意事项：
        // 1、第一点：String对象的内容不可改变，被称为不可变字符串对象。

        /*
结论:每次试图改变字符串对象实际上是新产生了新的字符串对象了，变量每次都是指向了新
的字符串对象，之前字符串对象的内容确实是没有改变的，因此说String的对象是不可变的。
        String name = "小红";
        name += "程序员"; // name = name + "程序员";
        name += "小明";
        System.out.println(name);
        */

        // 2、第二点：只要是以“...”方式写出的字符串对象，会存储到字符串常量池，且相同内容的字符串只存储一份;
        // 但通过new方式创建字符串对象，每new一次都会产生一个新的对象放在堆内存中。
        String s1 = "dys";
        String s2 = "dys";
        System.out.println(s1 == s2); // true

        String s3 = new String("dys");
        System.out.println(s1 == s3); // false

        char[] chars = {'d', 'y', 's'};
        String s4 = new String(chars);
        String s5 = new String(chars);
        System.out.println(s4 == s5); // false
    }
}
